package com.itheima08;

import java.util.Scanner;

/**
 * @author Xiao
 * @date 2021/7/22
 */
public class ExceptionDemo04 {
    /**
     * 键盘录入数据（案例）
     * 键盘录入学生的姓名和年龄，其中年龄为18-25岁。
     * 超出这个范围时异常数据不能赋值，需要重新录入，一直录到正确为止。
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Student stu = new Student();
        System.out.println("请输入学生姓名：");
        String name = sc.nextLine();
        stu.setName(name);
        while (true) {
            try {
                System.out.println("请输入学生年龄：");
                String s = sc.nextLine();
                int age = Integer.parseInt(s);
                stu.setAge(age);
            } catch (NumberFormatException e) {
                e.printStackTrace();
                System.out.println("请输入一个整数。");
                continue;
//            } catch (RuntimeException e) {
            } catch (AgeOutOfBoundsException e) {
//                System.out.println(e.toString());
                e.printStackTrace();
                System.out.println("请输入符合年龄范围的年龄。");
                continue;
            }
            break;
        }
        System.out.println(stu);
    }
}

